package com.example.myspringboot.enums;

/**
 * @author cy
 * @date 2024/6/18
 */
public enum ConfigTag {

    C01("01", "01的值"),
    C02("02", "02的值"),
    ;

    private final String code;
    private final String val;

    ConfigTag(String code, String val) {
        this.code = code;
        this.val = val;
    }

    public String getCode() {
        return code;
    }

    public String getVal() {
        return val;
    }

    /**
     * 根据代码值从ConfigTag枚举中查找对应的枚举项。
     *
     * @param code 枚举项的代码值，用于匹配。
     * @return 如果找到匹配的枚举项，则返回该枚举项；否则返回null。
     */
    public static ConfigTag fromCode(String code) {
        // 遍历ConfigTag枚举的所有值
        for (ConfigTag configTag : ConfigTag.values()) {
            // 检查当前枚举值的代码是否与输入的code相等
            if (configTag.getCode().equals(code)) {
                // 如果相等，返回当前枚举值
                return configTag;
            }
        }
        // 如果遍历完所有枚举值都没有找到匹配的code，返回null
        return null;
    }

}
